package com.up.vms.infrastructure.mvc.dto;

/**
 * HTTP Header
 *
 * @author Carbin
 * @since 2017-05-24 21:07
 */
public class EdiHeaders {

    /**
     * 请求API的Stage，如TEST、RELEASE，API提供者可以选择发布到哪个Stage，
     * 只有发布到指定Stage后API才可以调用，否则会提示API找不到/Invalid * Url/签名失败等错误
     * eg:
     * X-EDI-Stage: RELEASE
     */
    public static final String X_EDI_STATGE = "X-EDI-Stage";

    /**
     * 请求的AppKey，由支付平台分配，只有获得API授权后才可以调用，数字型
     * eg:
     * X-EDI-ClientKey:60022326
     */
    public static final String X_EDI_CLIENT_KEY = "X-EDI-ClientKey";

    /**
     * 请求时间,ISO8601
     * eg:
     * X-EDI-Time:2016-04-06T12:00:00Z
     */
    public static final String X_EDI_TIME = "X-EDI-Time";

    /**
     * 请求唯一标识，UUID，建议15分钟内Request-Id不能重复，与时间戳结合使用起到防重放作用
     * eg:
     * X-EDI-Request-Id:7AD052CB-EE8B-4DFD-BBAF-EFB340E0A5AF
     */
    public static final String X_EDI_REQUEST_ID = "X-EDI-RequestId";

    /**
     * 用户或操作员Id
     * eg:
     * X-EDI-UserId:10000000123
     */
    public static final String X_EDI_USER_ID = "X-EDI-UserId";

    /**
     * 用户Token, 本阶段传入非空任意值即可，不进行验证
     * eg:
     * X-EDI-UserToken:xxxxxxxxxxxxxxxxxxxxx
     */
    public static final String X_EDI_USER_TOKEN = "X-EDI-UserToken";

    /**
     * 请求签名，用于验签，防止伪造请求
     * eg: X-EDI-Signature:xxxxxxxxxxxxxxxxxxxxx
     */
    public static final String X_EDI_SIGNATURE = "X-EDI-Signature";
    
    private EdiHeaders(){

    }
}
